Jak dostat vysledek do Query1
Otázka od: Jiří Semler
30. 9. 2002 18:42
Dobry den,
potebuji dostat do tabulky hodotu z if v tomto selectu:
select cena,dph,cena+dph as cenasdph, if(cena>=0,'Prijem',Vydej') as
Pohyb from Faktura.
Existeje v BDE nejaka funkce nebo jiny zpusob jak ten vyseldek if...
dostat do tabulky? Nechci pouzit CalcField, protoze tento by se dotaz
mel generovat pomoci paametru - nejde jenom o ceny, ale i dalsi pole.
Dekuji Jirka
Odpovedá: Martin Cajbik
1. 10. 2002 16:59
Neviem o aky SQL server je to oprete, ale na MSSQL sa na taketo veci pouziva
CASE
SELECT cena,dph,cena+dph AS cenasdph,
CASE
WHEN cena >=0 THEN 'Prijem'
ELSE 'Vydej'
END AS Pohyb
FROM Faktura
druha moznost (nie prilis flexibilna) je pouzit UNION
SELECT cena,dph,cena+dph as cenasdph, 'Prijem' AS Pohyb
FROM Faktura
WHERE cena >= 0
UNION
SELECT cena,dph,cena+dph as cenasdph, 'Vydej' AS Pohyb
FROM Faktura
WHERE cena < 0
> Dobry den,
>
> potebuji dostat do tabulky hodotu z if v tomto selectu:
>
> select cena,dph,cena+dph as cenasdph, if(cena>=0,'Prijem',Vydej') as
> Pohyb from Faktura.
>
> Existeje v BDE nejaka funkce nebo jiny zpusob jak ten vyseldek if...
> dostat do tabulky? Nechci pouzit CalcField, protoze tento by se dotaz
> mel generovat pomoci paametru - nejde jenom o ceny, ale i dalsi pole.
>
> Dekuji Jirka
>
>
>
Odpovedá: Jan Sebelík
1. 10. 2002 14:38
> Odesílatel: Jiří Semler <jsemler@stbk.mcs.cz>
> potebuji dostat do tabulky hodotu z if v tomto selectu:
> select cena,dph,cena+dph as cenasdph, if(cena>=0,'Prijem',Vydej') as
> Pohyb from Faktura.
To nejde.
Budto si na to napis ulozenou proceduru, nebo musis mit CalcField.
Anebo by se to jeste dalo resit OnGetText na polozce cena.
Honza
=========================================
= HAES - RNDr. Jan Sebelik
= http://www.haes.cz
= Skolici a konzultacni stredisko pro Delphi a Win32
= Vojtiskova 206
= 507 81 Lazne Belohrad
= tel. 493 792 931 (mobil 776 347735)
=========================================
Odpovedá: Macko Martin
1. 10. 2002 17:54
MSSQL:
SELECT OC,
ZAKL_MZDA,
CASE WHEN ZAKL_MZDA<10000 THEN 'Malo' ELSE 'Dost' END
FROM PERSON
-----Original Message-----
From: Jiří Semler [mailto:jsemler@stbk.mcs.cz]
Dobry den,
potebuji dostat do tabulky hodotu z if v tomto selectu:
select cena,dph,cena+dph as cenasdph, if(cena>=0,'Prijem',Vydej') as Pohyb from Faktura.
Existeje v BDE nejaka funkce nebo jiny zpusob jak ten vyseldek if... dostat do tabulky? Nechci pouzit CalcField, protoze tento by se dotaz mel generovat pomoci paametru - nejde jenom o ceny, ale i dalsi pole.
Dekuji Jirka
Odpovedá: Ben, Martin (CAP, GCF)
1. 10. 2002 17:52
Napises o jakou jde databazi, ale v Oracle bych to resil takto
select castka, decode(sign(castka),-1,'Výdej',1,'Příjem','Nic') from platby
Martin Ben
> -----Original Message-----
> From: Jiri Semler [mailto:jsemler@stbk.mcs.cz]
>
> potebuji dostat do tabulky hodotu z if v tomto selectu:
>
> select cena,dph,cena+dph as cenasdph, if(cena>=0,'Prijem',Vydej') as
> Pohyb from Faktura.
>
> Existeje v BDE nejaka funkce nebo jiny zpusob jak ten vyseldek if...
> dostat do tabulky? Nechci pouzit CalcField, protoze tento by se dotaz
> mel generovat pomoci paametru - nejde jenom o ceny, ale i dalsi pole.